package org.jiuling.aliyun.sms.factory.service.verify;

import org.jiuling.aliyun.sms.enums.SmsSendRangeEnum;
import org.jiuling.basics.converter.DateConvert;
import org.jiuling.basics.validation.Assertions;

import java.util.Date;

/**
 * 阿里云发送短信查询校验
 * @author 紫灵
 * @date 2023年03月02日 17时25分37秒
 */
public class AliYunSendSmsQueryVerify {

    /**
     * 校验查询短信统计信息参数
     * @param smsSendRange 短信发送范围
     * @param startDate 开始时间
     * @param endDate 结束使时间
     */
    public static void querySendStatisticsParam(SmsSendRangeEnum smsSendRange, String startDate, String endDate){
        Assertions.ObjectAssertions.isNotNull("短信发送范围不存在！",smsSendRange);
        Assertions.StringAssertions.isNotBlank("开始时间不能为空！",startDate);
        Assertions.StringAssertions.isNotBlank("结束时间不能为空！",endDate);
    }

    /**
     * 校验查询发送详情参数
     * @param phoneNumber 电话号码
     * @param sendDate 短信发送日期
     */
    public static void querySendDetailsParam(String phoneNumber,Date sendDate){
        Assertions.StringAssertions.isNotBlank("手机号不能为空！",phoneNumber);
        Assertions.ObjectAssertions.isNotNull("发送日期不能为空！",sendDate);
        // 日期限制
        int dateLimit = -30;
        Assertions.isFalse("仅支持查询最近三十天的记录！",sendDate.getTime() < DateConvert.modifyDay(new Date(),dateLimit).getTime());
    }

}
